package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 离职记录对象 epm_information_resignation_record
 * 
 * @author ruoyi
 * @date 2024-12-30
 */
public class EpmInformationResignationRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 数据库的自动id */
    private Long id;

    /** 员工的id号 */
    @Excel(name = "员工的id号")
    private Long userId;

    /** 员工名称 */
    @Excel(name = "员工名称")
    private String name;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String deptName;

    /** 职位 */
    @Excel(name = "职位")
    private String post;

    /** 入职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryDate;

    /** 离职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date resignationDate;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idCard;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 年龄 */
    @Excel(name = "年龄")
    private Long age;

    /** 用户性别（0男 1女 2未知） */
    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
    private String sex;

    /** 最高学历 */
    @Excel(name = "最高学历",dictType="education",comboReadDict=true)
    private String highEducationalLevel;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phoneNumber;

    /** 用工类型(根据字典type_of_men查看)，在此处直接记录汉字，不用字典 */
    @Excel(name = "用工类型")
    private String typeOfMen;

    /** 离职原因 */
    @Excel(name = "离职原因")
    private String reasonForLeaving;

    /** 离职情况 */
    @Excel(name = "离职情况")
    private String resignationSituation;

    /** 住宿情况 */
    @Excel(name = "住宿情况")
    private String dormitoryNeed;

    /** 离职备注 */
    @Excel(name = "离职备注")
    private String notes;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }
    public void setPost(String post) 
    {
        this.post = post;
    }

    public String getPost() 
    {
        return post;
    }
    public void setEntryDate(Date entryDate) 
    {
        this.entryDate = entryDate;
    }

    public Date getEntryDate() 
    {
        return entryDate;
    }
    public void setResignationDate(Date resignationDate) 
    {
        this.resignationDate = resignationDate;
    }

    public Date getResignationDate() 
    {
        return resignationDate;
    }
    public void setIdCard(String idCard) 
    {
        this.idCard = idCard;
    }

    public String getIdCard() 
    {
        return idCard;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }
    public void setAge(Long age) 
    {
        this.age = age;
    }

    public Long getAge() 
    {
        return age;
    }
    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }
    public void setHighEducationalLevel(String highEducationalLevel) 
    {
        this.highEducationalLevel = highEducationalLevel;
    }

    public String getHighEducationalLevel() 
    {
        return highEducationalLevel;
    }
    public void setPhoneNumber(String phoneNumber)
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber()
    {
        return phoneNumber;
    }
    public void setTypeOfMen(String typeOfMen) 
    {
        this.typeOfMen = typeOfMen;
    }

    public String getTypeOfMen() 
    {
        return typeOfMen;
    }
    public void setReasonForLeaving(String reasonForLeaving) 
    {
        this.reasonForLeaving = reasonForLeaving;
    }

    public String getReasonForLeaving() 
    {
        return reasonForLeaving;
    }
    public void setResignationSituation(String resignationSituation) 
    {
        this.resignationSituation = resignationSituation;
    }

    public String getResignationSituation() 
    {
        return resignationSituation;
    }
    public void setDormitoryNeed(String dormitoryNeed) 
    {
        this.dormitoryNeed = dormitoryNeed;
    }

    public String getDormitoryNeed() 
    {
        return dormitoryNeed;
    }
    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("name", getName())
            .append("deptName", getDeptName())
            .append("post", getPost())
            .append("entryDate", getEntryDate())
            .append("resignationDate", getResignationDate())
            .append("idCard", getIdCard())
            .append("birthday", getBirthday())
            .append("age", getAge())
            .append("sex", getSex())
            .append("highEducationalLevel", getHighEducationalLevel())
            .append("phoneNumber", getPhoneNumber())
            .append("typeOfMen", getTypeOfMen())
            .append("reasonForLeaving", getReasonForLeaving())
            .append("resignationSituation", getResignationSituation())
            .append("dormitoryNeed", getDormitoryNeed())
            .append("notes", getNotes())
            .toString();
    }
}
